Primitive Polynomial (field Theory)
   HOME

TheInfoList



OR:

In finite field theory, a branch of
mathematics Mathematics is an area of knowledge that includes the topics of numbers, formulas and related structures, shapes and the spaces in which they are contained, and quantities and their changes. These topics are represented in modern mathematics ...
, a primitive polynomial is the minimal polynomial of a primitive element of the
finite field In mathematics, a finite field or Galois field (so-named in honor of Évariste Galois) is a field that contains a finite number of elements. As with any field, a finite field is a set on which the operations of multiplication, addition, subtr ...
. This means that a polynomial of degree with coefficients in is a ''primitive polynomial'' if it has a root in such that is the entire field . This implies that is a primitive ()-root of unity in .


Properties

* Because all minimal polynomials are
irreducible In philosophy, systems theory, science, and art, emergence occurs when an entity is observed to have properties its parts do not have on their own, properties or behaviors that emerge only when the parts interact in a wider whole. Emergence ...
, all primitive polynomials are also irreducible. * A primitive polynomial must have a non-zero constant term, for otherwise it will be divisible by ''x''. Over
GF(2) (also denoted \mathbb F_2, or \mathbb Z/2\mathbb Z) is the finite field of two elements (GF is the initialism of ''Galois field'', another name for finite fields). Notations and \mathbb Z_2 may be encountered although they can be confused with ...
, is a primitive polynomial and all other primitive polynomials have an odd number of terms, since any polynomial mod 2 with an even number of terms is divisible by (it has 1 as a root). * An
irreducible polynomial In mathematics, an irreducible polynomial is, roughly speaking, a polynomial that cannot be factored into the product of two non-constant polynomials. The property of irreducibility depends on the nature of the coefficients that are accepted ...
''F''(''x'') of degree ''m'' over GF(''p''), where ''p'' is prime, is a primitive polynomial if the smallest positive integer ''n'' such that ''F''(''x'') divides is . * Over GF(''p''''m'') there are exactly primitive polynomials of degree ''m'', where ''φ'' is
Euler's totient function In number theory, Euler's totient function counts the positive integers up to a given integer that are relatively prime to . It is written using the Greek letter phi as \varphi(n) or \phi(n), and may also be called Euler's phi function. In ot ...
. * A primitive polynomial of degree ''m'' has ''m'' different roots in GF(''p''''m''), which all have order . This means that, if ''α'' is such a root, then and for . * The primitive polynomial ''F''(''x'') of degree ''m'' of a primitive element ''α'' in GF(''p''''m'') has explicit form .


Usage


Field element representation

Primitive polynomials can be used to represent the elements of a
finite field In mathematics, a finite field or Galois field (so-named in honor of Évariste Galois) is a field that contains a finite number of elements. As with any field, a finite field is a set on which the operations of multiplication, addition, subtr ...
. If ''α'' in GF(''p''''m'') is a root of a primitive polynomial ''F''(''x''), then the nonzero elements of GF(''p''''m'') are represented as successive powers of ''α'': : \mathrm(p^m) = \ . This allows an economical representation in a
computer A computer is a machine that can be programmed to Execution (computing), carry out sequences of arithmetic or logical operations (computation) automatically. Modern digital electronic computers can perform generic sets of operations known as C ...
of the nonzero elements of the finite field, by representing an element by the corresponding exponent of \alpha. This representation makes multiplication easy, as it corresponds to addition of exponents modulo p^m-1.


Pseudo-random bit generation

Primitive polynomials over GF(2), the field with two elements, can be used for pseudorandom bit generation. In fact, every
linear-feedback shift register In computing, a linear-feedback shift register (LFSR) is a shift register whose input bit is a linear function of its previous state. The most commonly used linear function of single bits is exclusive-or (XOR). Thus, an LFSR is most often a sh ...
with maximum cycle length (which is , where ''n'' is the length of the linear-feedback shift register) may be built from a primitive polynomial. In general, for a primitive polynomial of degree ''m'' over GF(2), this process will generate pseudo-random bits before repeating the same sequence.


CRC codes

The
cyclic redundancy check A cyclic redundancy check (CRC) is an error-detecting code commonly used in digital networks and storage devices to detect accidental changes to digital data. Blocks of data entering these systems get a short ''check value'' attached, based on t ...
(CRC) is an error-detection code that operates by interpreting the message bitstring as the coefficients of a polynomial over GF(2) and dividing it by a fixed generator polynomial also over GF(2); see
Mathematics of CRC The cyclic redundancy check (CRC) is based on division in the ring of polynomials over the finite field GF(2) (the integers modulo 2), that is, the set of polynomials where each coefficient is either zero or one, and arithmetic operations wrap ar ...
. Primitive polynomials, or multiples of them, are sometimes a good choice for generator polynomials because they can reliably detect two bit errors that occur far apart in the message bitstring, up to a distance of for a degree ''n'' primitive polynomial.


Primitive trinomials

A useful class of primitive polynomials is the primitive trinomials, those having only three nonzero terms: . Their simplicity makes for particularly small and fast
linear-feedback shift register In computing, a linear-feedback shift register (LFSR) is a shift register whose input bit is a linear function of its previous state. The most commonly used linear function of single bits is exclusive-or (XOR). Thus, an LFSR is most often a sh ...
s. A number of results give techniques for locating and testing primitiveness of trinomials. For polynomials over GF(2), where is a
Mersenne prime In mathematics, a Mersenne prime is a prime number that is one less than a power of two. That is, it is a prime number of the form for some integer . They are named after Marin Mersenne, a French Minim friar, who studied them in the early 17t ...
, a polynomial of degree ''r'' is primitive if and only if it is irreducible. (Given an irreducible polynomial, it is ''not'' primitive only if the period of ''x'' is a non-trivial factor of . Primes have no non-trivial factors.) Although the
Mersenne Twister The Mersenne Twister is a general-purpose pseudorandom number generator (PRNG) developed in 1997 by and . Its name derives from the fact that its period length is chosen to be a Mersenne prime. The Mersenne Twister was designed specifically to re ...
pseudo-random number generator does not use a trinomial, it does take advantage of this. Richard Brent has been tabulating primitive trinomials of this form, such as . This can be used to create a pseudo-random number generator of the huge period ≈ .


References


External links

* {{MathWorld , urlname=PrimitivePolynomial , title=Primitive Polynomial Field (mathematics) Polynomials